﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x020002DC RID: 732
	public class TExpressionList : TParseTreeNodeList
	{
		// Token: 0x06001917 RID: 6423 RVA: 0x0032BB3C File Offset: 0x00329D3C
		public virtual void addExpression(TExpression expr)
		{
			base.addElement(expr);
		}

		// Token: 0x17000567 RID: 1383
		public TExpression this[int pos]
		{
			get
			{
				if (pos < 0 || pos >= base.size())
				{
					throw new IndexOutOfRangeException();
				}
				return (TExpression)this.elementAt(pos);
			}
		}

		// Token: 0x06001919 RID: 6425 RVA: 0x0032BB66 File Offset: 0x00329D66
		public virtual TExpression getExpression(int position)
		{
			if (position < base.size())
			{
				return (TExpression)this.elementAt(position);
			}
			return null;
		}

		// Token: 0x0600191A RID: 6426 RVA: 0x0032BB7F File Offset: 0x00329D7F
		internal override void addParseTreeNode(object arg1)
		{
			this.addExpression((TExpression)arg1);
		}

		// Token: 0x0600191B RID: 6427 RVA: 0x0032BB8D File Offset: 0x00329D8D
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600191C RID: 6428 RVA: 0x0032BBA0 File Offset: 0x00329DA0
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			for (int i = 0; i < base.size(); i++)
			{
				this.getExpression(i).acceptChildren(v);
			}
			v.postVisit(this);
		}
	}
}
